<?php

//функціонал переглядів
add_action('wp','es_pageviews');
add_action('manage_posts_custom_column','display_pageviews_row',10,2);
add_filter('manage_pages_columns', 'display_pageviews');
add_filter('manage_posts_columns', 'display_pageviews');

function es_pageviews(){
    if(is_single() || is_page()){
        global $post;
        $pv = get_post_meta($post->ID, '_pageviews',true);
        update_post_meta($post->ID, '_pageviews', $pv+1);
    }
}

function display_pageviews($columns){
    $columns['pv'] = __('PageViews');
    return $columns;
}

function display_pageviews_row($column_name,$post_id){
    if ($column_name != 'pv') return;   
    $pv = get_post_meta($post_id, '_pageviews',true);
    echo $pv ? $pv : 0;
}

function the_pageview(){
    global $post;
    $pv = get_post_meta($post->ID, '_pageviews',true);
    echo $pv ? $pv : 0;
}

//реєстрація сайдбару
if(!function_exists('register_sidebar'));
register_sidebar(array(
  'name' => __( 'categories' ),
  'id' => 'left-sidebar',
  'description' => __( 'Widgets in this area will be shown on the left-hand side.' ),
  'before_title' => '<h3>',
  'after_title' => '</h3>'
));

//вивід мініатюр
if ( function_exists( 'add_theme_support' ) ) {
	add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 155, 210 );
}

//блок довільні поля
add_action('admin_init', 'my_extra_fields', 1);

function my_extra_fields() {
    add_meta_box( 'extra_fields', 'Additional fields', 'extra_fields_box_func', 'post', 'normal', 'high'  );
}

// код блока
function extra_fields_box_func( $post ){
?>

<p><select name="extra[language]" />
			<?php $sel_v = get_post_meta($post->ID, 'language', 1); ?>
			<option value="0">----</option>
			<option value="English" <?php selected( $sel_v, 'English' )?> >English</option>
			<option value="Spanish" <?php selected( $sel_v, 'Spanish' )?> >Spanish</option>
			<option value="Germa" <?php selected( $sel_v, 'Germa' )?> >German</option>
                        <option value="Franch" <?php selected( $sel_v, 'Franch' )?> >Franch</option>
                        <option value="Russian" <?php selected( $sel_v, 'Russian' )?> >Russian</option>
		</select> language</p>


	<p><label><input type="text" name="extra[pages]" value="<?php echo get_post_meta($post->ID, 'pages', 1); ?>" style="width:50%" /> ← Pages: (pages)</label></p>
        <p><label><input type="text" name="extra[format]" value="<?php echo get_post_meta($post->ID, 'format', 1); ?>" style="width:50%" /> ← Format: (format)</label></p>
        <p><label><input type="text" name="extra[size]" value="<?php echo get_post_meta($post->ID, 'size', 1); ?>" style="width:50%" /> ← Size: (size)</label></p>
        <p><label><input type="text" name="extra[RapidShare]" value="<?php echo get_post_meta($post->ID, 'RapidShare', 1); ?>" style="width:50%" /> ← RapidShare: (RapidShare)</label></p>
        <p><label><input type="text" name="extra[UniBytes]" value="<?php echo get_post_meta($post->ID, 'UniBytes', 1); ?>" style="width:50%" /> ← UniBytes: (UniBytes)</label></p>
        <p><label><input type="text" name="extra[DepositFiles]" value="<?php echo get_post_meta($post->ID, 'DepositFiles', 1); ?>" style="width:50%" /> ← DepositFiles: (DepositFiles)</label></p>

	<input type="hidden" name="extra_fields_nonce" value="<?php echo wp_create_nonce(__FILE__); ?>" />
<?php
}

// обновлення при збереженні
add_action('save_post', 'my_extra_fields_update', 0);

/* зберігання даних*/
function my_extra_fields_update( $post_id ){
    if ( !wp_verify_nonce($_POST['extra_fields_nonce'], __FILE__) ) return false; // проверка
	if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE  ) return false; // если это автосохранение
	if ( !current_user_can('edit_post', $post_id) ) return false; // если юзер не имеет право редактировать запись

	if( !isset($_POST['extra']) ) return false;	

	// Все ОК! зберегти/видалити
	$_POST['extra'] = array_map('trim', $_POST['extra']);
	foreach( $_POST['extra'] as $key=>$value ){
		if( empty($value) )
			continue delete_post_meta($post_id, $key); // удаляем поле если значение пустое

		update_post_meta($post_id, $key, $value); // add_post_meta() работает автоматически
	}
	return $post_id;
}